package com.lx.bean;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ContentExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ContentExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andCIdIsNull() {
            addCriterion("c_id is null");
            return (Criteria) this;
        }

        public Criteria andCIdIsNotNull() {
            addCriterion("c_id is not null");
            return (Criteria) this;
        }

        public Criteria andCIdEqualTo(Integer value) {
            addCriterion("c_id =", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdNotEqualTo(Integer value) {
            addCriterion("c_id <>", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdGreaterThan(Integer value) {
            addCriterion("c_id >", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("c_id >=", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdLessThan(Integer value) {
            addCriterion("c_id <", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdLessThanOrEqualTo(Integer value) {
            addCriterion("c_id <=", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdIn(List<Integer> values) {
            addCriterion("c_id in", values, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdNotIn(List<Integer> values) {
            addCriterion("c_id not in", values, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdBetween(Integer value1, Integer value2) {
            addCriterion("c_id between", value1, value2, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdNotBetween(Integer value1, Integer value2) {
            addCriterion("c_id not between", value1, value2, "cId");
            return (Criteria) this;
        }

        public Criteria andFbIdIsNull() {
            addCriterion("fb_id is null");
            return (Criteria) this;
        }

        public Criteria andFbIdIsNotNull() {
            addCriterion("fb_id is not null");
            return (Criteria) this;
        }

        public Criteria andFbIdEqualTo(Integer value) {
            addCriterion("fb_id =", value, "fbId");
            return (Criteria) this;
        }

        public Criteria andFbIdNotEqualTo(Integer value) {
            addCriterion("fb_id <>", value, "fbId");
            return (Criteria) this;
        }

        public Criteria andFbIdGreaterThan(Integer value) {
            addCriterion("fb_id >", value, "fbId");
            return (Criteria) this;
        }

        public Criteria andFbIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("fb_id >=", value, "fbId");
            return (Criteria) this;
        }

        public Criteria andFbIdLessThan(Integer value) {
            addCriterion("fb_id <", value, "fbId");
            return (Criteria) this;
        }

        public Criteria andFbIdLessThanOrEqualTo(Integer value) {
            addCriterion("fb_id <=", value, "fbId");
            return (Criteria) this;
        }

        public Criteria andFbIdIn(List<Integer> values) {
            addCriterion("fb_id in", values, "fbId");
            return (Criteria) this;
        }

        public Criteria andFbIdNotIn(List<Integer> values) {
            addCriterion("fb_id not in", values, "fbId");
            return (Criteria) this;
        }

        public Criteria andFbIdBetween(Integer value1, Integer value2) {
            addCriterion("fb_id between", value1, value2, "fbId");
            return (Criteria) this;
        }

        public Criteria andFbIdNotBetween(Integer value1, Integer value2) {
            addCriterion("fb_id not between", value1, value2, "fbId");
            return (Criteria) this;
        }

        public Criteria andUIdIsNull() {
            addCriterion("u_id is null");
            return (Criteria) this;
        }

        public Criteria andUIdIsNotNull() {
            addCriterion("u_id is not null");
            return (Criteria) this;
        }

        public Criteria andUIdEqualTo(Integer value) {
            addCriterion("u_id =", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotEqualTo(Integer value) {
            addCriterion("u_id <>", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdGreaterThan(Integer value) {
            addCriterion("u_id >", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("u_id >=", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdLessThan(Integer value) {
            addCriterion("u_id <", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdLessThanOrEqualTo(Integer value) {
            addCriterion("u_id <=", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdIn(List<Integer> values) {
            addCriterion("u_id in", values, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotIn(List<Integer> values) {
            addCriterion("u_id not in", values, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdBetween(Integer value1, Integer value2) {
            addCriterion("u_id between", value1, value2, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotBetween(Integer value1, Integer value2) {
            addCriterion("u_id not between", value1, value2, "uId");
            return (Criteria) this;
        }

        public Criteria andTitleIsNull() {
            addCriterion("title is null");
            return (Criteria) this;
        }

        public Criteria andTitleIsNotNull() {
            addCriterion("title is not null");
            return (Criteria) this;
        }

        public Criteria andTitleEqualTo(String value) {
            addCriterion("title =", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotEqualTo(String value) {
            addCriterion("title <>", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThan(String value) {
            addCriterion("title >", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThanOrEqualTo(String value) {
            addCriterion("title >=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThan(String value) {
            addCriterion("title <", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThanOrEqualTo(String value) {
            addCriterion("title <=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLike(String value) {
            addCriterion("title like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotLike(String value) {
            addCriterion("title not like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleIn(List<String> values) {
            addCriterion("title in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotIn(List<String> values) {
            addCriterion("title not in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleBetween(String value1, String value2) {
            addCriterion("title between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotBetween(String value1, String value2) {
            addCriterion("title not between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andLbIdIsNull() {
            addCriterion("lb_id is null");
            return (Criteria) this;
        }

        public Criteria andLbIdIsNotNull() {
            addCriterion("lb_id is not null");
            return (Criteria) this;
        }

        public Criteria andLbIdEqualTo(Integer value) {
            addCriterion("lb_id =", value, "lbId");
            return (Criteria) this;
        }

        public Criteria andLbIdNotEqualTo(Integer value) {
            addCriterion("lb_id <>", value, "lbId");
            return (Criteria) this;
        }

        public Criteria andLbIdGreaterThan(Integer value) {
            addCriterion("lb_id >", value, "lbId");
            return (Criteria) this;
        }

        public Criteria andLbIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("lb_id >=", value, "lbId");
            return (Criteria) this;
        }

        public Criteria andLbIdLessThan(Integer value) {
            addCriterion("lb_id <", value, "lbId");
            return (Criteria) this;
        }

        public Criteria andLbIdLessThanOrEqualTo(Integer value) {
            addCriterion("lb_id <=", value, "lbId");
            return (Criteria) this;
        }

        public Criteria andLbIdIn(List<Integer> values) {
            addCriterion("lb_id in", values, "lbId");
            return (Criteria) this;
        }

        public Criteria andLbIdNotIn(List<Integer> values) {
            addCriterion("lb_id not in", values, "lbId");
            return (Criteria) this;
        }

        public Criteria andLbIdBetween(Integer value1, Integer value2) {
            addCriterion("lb_id between", value1, value2, "lbId");
            return (Criteria) this;
        }

        public Criteria andLbIdNotBetween(Integer value1, Integer value2) {
            addCriterion("lb_id not between", value1, value2, "lbId");
            return (Criteria) this;
        }

        public Criteria andHideIsNull() {
            addCriterion("hide is null");
            return (Criteria) this;
        }

        public Criteria andHideIsNotNull() {
            addCriterion("hide is not null");
            return (Criteria) this;
        }

        public Criteria andHideEqualTo(Boolean value) {
            addCriterion("hide =", value, "hide");
            return (Criteria) this;
        }

        public Criteria andHideNotEqualTo(Boolean value) {
            addCriterion("hide <>", value, "hide");
            return (Criteria) this;
        }

        public Criteria andHideGreaterThan(Boolean value) {
            addCriterion("hide >", value, "hide");
            return (Criteria) this;
        }

        public Criteria andHideGreaterThanOrEqualTo(Boolean value) {
            addCriterion("hide >=", value, "hide");
            return (Criteria) this;
        }

        public Criteria andHideLessThan(Boolean value) {
            addCriterion("hide <", value, "hide");
            return (Criteria) this;
        }

        public Criteria andHideLessThanOrEqualTo(Boolean value) {
            addCriterion("hide <=", value, "hide");
            return (Criteria) this;
        }

        public Criteria andHideIn(List<Boolean> values) {
            addCriterion("hide in", values, "hide");
            return (Criteria) this;
        }

        public Criteria andHideNotIn(List<Boolean> values) {
            addCriterion("hide not in", values, "hide");
            return (Criteria) this;
        }

        public Criteria andHideBetween(Boolean value1, Boolean value2) {
            addCriterion("hide between", value1, value2, "hide");
            return (Criteria) this;
        }

        public Criteria andHideNotBetween(Boolean value1, Boolean value2) {
            addCriterion("hide not between", value1, value2, "hide");
            return (Criteria) this;
        }

        public Criteria andPublicationTimeIsNull() {
            addCriterion("publication_time is null");
            return (Criteria) this;
        }

        public Criteria andPublicationTimeIsNotNull() {
            addCriterion("publication_time is not null");
            return (Criteria) this;
        }

        public Criteria andPublicationTimeEqualTo(Date value) {
            addCriterion("publication_time =", value, "publicationTime");
            return (Criteria) this;
        }

        public Criteria andPublicationTimeNotEqualTo(Date value) {
            addCriterion("publication_time <>", value, "publicationTime");
            return (Criteria) this;
        }

        public Criteria andPublicationTimeGreaterThan(Date value) {
            addCriterion("publication_time >", value, "publicationTime");
            return (Criteria) this;
        }

        public Criteria andPublicationTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("publication_time >=", value, "publicationTime");
            return (Criteria) this;
        }

        public Criteria andPublicationTimeLessThan(Date value) {
            addCriterion("publication_time <", value, "publicationTime");
            return (Criteria) this;
        }

        public Criteria andPublicationTimeLessThanOrEqualTo(Date value) {
            addCriterion("publication_time <=", value, "publicationTime");
            return (Criteria) this;
        }

        public Criteria andPublicationTimeIn(List<Date> values) {
            addCriterion("publication_time in", values, "publicationTime");
            return (Criteria) this;
        }

        public Criteria andPublicationTimeNotIn(List<Date> values) {
            addCriterion("publication_time not in", values, "publicationTime");
            return (Criteria) this;
        }

        public Criteria andPublicationTimeBetween(Date value1, Date value2) {
            addCriterion("publication_time between", value1, value2, "publicationTime");
            return (Criteria) this;
        }

        public Criteria andPublicationTimeNotBetween(Date value1, Date value2) {
            addCriterion("publication_time not between", value1, value2, "publicationTime");
            return (Criteria) this;
        }

        public Criteria andCollectionnumIsNull() {
            addCriterion("collectionnum is null");
            return (Criteria) this;
        }

        public Criteria andCollectionnumIsNotNull() {
            addCriterion("collectionnum is not null");
            return (Criteria) this;
        }

        public Criteria andCollectionnumEqualTo(Integer value) {
            addCriterion("collectionnum =", value, "collectionnum");
            return (Criteria) this;
        }

        public Criteria andCollectionnumNotEqualTo(Integer value) {
            addCriterion("collectionnum <>", value, "collectionnum");
            return (Criteria) this;
        }

        public Criteria andCollectionnumGreaterThan(Integer value) {
            addCriterion("collectionnum >", value, "collectionnum");
            return (Criteria) this;
        }

        public Criteria andCollectionnumGreaterThanOrEqualTo(Integer value) {
            addCriterion("collectionnum >=", value, "collectionnum");
            return (Criteria) this;
        }

        public Criteria andCollectionnumLessThan(Integer value) {
            addCriterion("collectionnum <", value, "collectionnum");
            return (Criteria) this;
        }

        public Criteria andCollectionnumLessThanOrEqualTo(Integer value) {
            addCriterion("collectionnum <=", value, "collectionnum");
            return (Criteria) this;
        }

        public Criteria andCollectionnumIn(List<Integer> values) {
            addCriterion("collectionnum in", values, "collectionnum");
            return (Criteria) this;
        }

        public Criteria andCollectionnumNotIn(List<Integer> values) {
            addCriterion("collectionnum not in", values, "collectionnum");
            return (Criteria) this;
        }

        public Criteria andCollectionnumBetween(Integer value1, Integer value2) {
            addCriterion("collectionnum between", value1, value2, "collectionnum");
            return (Criteria) this;
        }

        public Criteria andCollectionnumNotBetween(Integer value1, Integer value2) {
            addCriterion("collectionnum not between", value1, value2, "collectionnum");
            return (Criteria) this;
        }

        public Criteria andReplyNumberIsNull() {
            addCriterion("reply_number is null");
            return (Criteria) this;
        }

        public Criteria andReplyNumberIsNotNull() {
            addCriterion("reply_number is not null");
            return (Criteria) this;
        }

        public Criteria andReplyNumberEqualTo(Integer value) {
            addCriterion("reply_number =", value, "replyNumber");
            return (Criteria) this;
        }

        public Criteria andReplyNumberNotEqualTo(Integer value) {
            addCriterion("reply_number <>", value, "replyNumber");
            return (Criteria) this;
        }

        public Criteria andReplyNumberGreaterThan(Integer value) {
            addCriterion("reply_number >", value, "replyNumber");
            return (Criteria) this;
        }

        public Criteria andReplyNumberGreaterThanOrEqualTo(Integer value) {
            addCriterion("reply_number >=", value, "replyNumber");
            return (Criteria) this;
        }

        public Criteria andReplyNumberLessThan(Integer value) {
            addCriterion("reply_number <", value, "replyNumber");
            return (Criteria) this;
        }

        public Criteria andReplyNumberLessThanOrEqualTo(Integer value) {
            addCriterion("reply_number <=", value, "replyNumber");
            return (Criteria) this;
        }

        public Criteria andReplyNumberIn(List<Integer> values) {
            addCriterion("reply_number in", values, "replyNumber");
            return (Criteria) this;
        }

        public Criteria andReplyNumberNotIn(List<Integer> values) {
            addCriterion("reply_number not in", values, "replyNumber");
            return (Criteria) this;
        }

        public Criteria andReplyNumberBetween(Integer value1, Integer value2) {
            addCriterion("reply_number between", value1, value2, "replyNumber");
            return (Criteria) this;
        }

        public Criteria andReplyNumberNotBetween(Integer value1, Integer value2) {
            addCriterion("reply_number not between", value1, value2, "replyNumber");
            return (Criteria) this;
        }

        public Criteria andCommentNumIsNull() {
            addCriterion("comment_num is null");
            return (Criteria) this;
        }

        public Criteria andCommentNumIsNotNull() {
            addCriterion("comment_num is not null");
            return (Criteria) this;
        }

        public Criteria andCommentNumEqualTo(Integer value) {
            addCriterion("comment_num =", value, "commentNum");
            return (Criteria) this;
        }

        public Criteria andCommentNumNotEqualTo(Integer value) {
            addCriterion("comment_num <>", value, "commentNum");
            return (Criteria) this;
        }

        public Criteria andCommentNumGreaterThan(Integer value) {
            addCriterion("comment_num >", value, "commentNum");
            return (Criteria) this;
        }

        public Criteria andCommentNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("comment_num >=", value, "commentNum");
            return (Criteria) this;
        }

        public Criteria andCommentNumLessThan(Integer value) {
            addCriterion("comment_num <", value, "commentNum");
            return (Criteria) this;
        }

        public Criteria andCommentNumLessThanOrEqualTo(Integer value) {
            addCriterion("comment_num <=", value, "commentNum");
            return (Criteria) this;
        }

        public Criteria andCommentNumIn(List<Integer> values) {
            addCriterion("comment_num in", values, "commentNum");
            return (Criteria) this;
        }

        public Criteria andCommentNumNotIn(List<Integer> values) {
            addCriterion("comment_num not in", values, "commentNum");
            return (Criteria) this;
        }

        public Criteria andCommentNumBetween(Integer value1, Integer value2) {
            addCriterion("comment_num between", value1, value2, "commentNum");
            return (Criteria) this;
        }

        public Criteria andCommentNumNotBetween(Integer value1, Integer value2) {
            addCriterion("comment_num not between", value1, value2, "commentNum");
            return (Criteria) this;
        }

        public Criteria andSeeNumIsNull() {
            addCriterion("see_num is null");
            return (Criteria) this;
        }

        public Criteria andSeeNumIsNotNull() {
            addCriterion("see_num is not null");
            return (Criteria) this;
        }

        public Criteria andSeeNumEqualTo(Integer value) {
            addCriterion("see_num =", value, "seeNum");
            return (Criteria) this;
        }

        public Criteria andSeeNumNotEqualTo(Integer value) {
            addCriterion("see_num <>", value, "seeNum");
            return (Criteria) this;
        }

        public Criteria andSeeNumGreaterThan(Integer value) {
            addCriterion("see_num >", value, "seeNum");
            return (Criteria) this;
        }

        public Criteria andSeeNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("see_num >=", value, "seeNum");
            return (Criteria) this;
        }

        public Criteria andSeeNumLessThan(Integer value) {
            addCriterion("see_num <", value, "seeNum");
            return (Criteria) this;
        }

        public Criteria andSeeNumLessThanOrEqualTo(Integer value) {
            addCriterion("see_num <=", value, "seeNum");
            return (Criteria) this;
        }

        public Criteria andSeeNumIn(List<Integer> values) {
            addCriterion("see_num in", values, "seeNum");
            return (Criteria) this;
        }

        public Criteria andSeeNumNotIn(List<Integer> values) {
            addCriterion("see_num not in", values, "seeNum");
            return (Criteria) this;
        }

        public Criteria andSeeNumBetween(Integer value1, Integer value2) {
            addCriterion("see_num between", value1, value2, "seeNum");
            return (Criteria) this;
        }

        public Criteria andSeeNumNotBetween(Integer value1, Integer value2) {
            addCriterion("see_num not between", value1, value2, "seeNum");
            return (Criteria) this;
        }

        public Criteria andHeatIsNull() {
            addCriterion("heat is null");
            return (Criteria) this;
        }

        public Criteria andHeatIsNotNull() {
            addCriterion("heat is not null");
            return (Criteria) this;
        }

        public Criteria andHeatEqualTo(Integer value) {
            addCriterion("heat =", value, "heat");
            return (Criteria) this;
        }

        public Criteria andHeatNotEqualTo(Integer value) {
            addCriterion("heat <>", value, "heat");
            return (Criteria) this;
        }

        public Criteria andHeatGreaterThan(Integer value) {
            addCriterion("heat >", value, "heat");
            return (Criteria) this;
        }

        public Criteria andHeatGreaterThanOrEqualTo(Integer value) {
            addCriterion("heat >=", value, "heat");
            return (Criteria) this;
        }

        public Criteria andHeatLessThan(Integer value) {
            addCriterion("heat <", value, "heat");
            return (Criteria) this;
        }

        public Criteria andHeatLessThanOrEqualTo(Integer value) {
            addCriterion("heat <=", value, "heat");
            return (Criteria) this;
        }

        public Criteria andHeatIn(List<Integer> values) {
            addCriterion("heat in", values, "heat");
            return (Criteria) this;
        }

        public Criteria andHeatNotIn(List<Integer> values) {
            addCriterion("heat not in", values, "heat");
            return (Criteria) this;
        }

        public Criteria andHeatBetween(Integer value1, Integer value2) {
            addCriterion("heat between", value1, value2, "heat");
            return (Criteria) this;
        }

        public Criteria andHeatNotBetween(Integer value1, Integer value2) {
            addCriterion("heat not between", value1, value2, "heat");
            return (Criteria) this;
        }

        public Criteria andEssenceIsNull() {
            addCriterion("essence is null");
            return (Criteria) this;
        }

        public Criteria andEssenceIsNotNull() {
            addCriterion("essence is not null");
            return (Criteria) this;
        }

        public Criteria andEssenceEqualTo(Boolean value) {
            addCriterion("essence =", value, "essence");
            return (Criteria) this;
        }

        public Criteria andEssenceNotEqualTo(Boolean value) {
            addCriterion("essence <>", value, "essence");
            return (Criteria) this;
        }

        public Criteria andEssenceGreaterThan(Boolean value) {
            addCriterion("essence >", value, "essence");
            return (Criteria) this;
        }

        public Criteria andEssenceGreaterThanOrEqualTo(Boolean value) {
            addCriterion("essence >=", value, "essence");
            return (Criteria) this;
        }

        public Criteria andEssenceLessThan(Boolean value) {
            addCriterion("essence <", value, "essence");
            return (Criteria) this;
        }

        public Criteria andEssenceLessThanOrEqualTo(Boolean value) {
            addCriterion("essence <=", value, "essence");
            return (Criteria) this;
        }

        public Criteria andEssenceIn(List<Boolean> values) {
            addCriterion("essence in", values, "essence");
            return (Criteria) this;
        }

        public Criteria andEssenceNotIn(List<Boolean> values) {
            addCriterion("essence not in", values, "essence");
            return (Criteria) this;
        }

        public Criteria andEssenceBetween(Boolean value1, Boolean value2) {
            addCriterion("essence between", value1, value2, "essence");
            return (Criteria) this;
        }

        public Criteria andEssenceNotBetween(Boolean value1, Boolean value2) {
            addCriterion("essence not between", value1, value2, "essence");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}